package com.vcredit.creditcat.persistence;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.vcredit.creditcat.model.RoleResource;

/**
 * 角色资源关系DAO
 *
 */
public interface RoleResourceMapper{
	
	/**
	 * 新增角色资源关系
	 * @param obj 角色资源关系
	 */
	public void insert(RoleResource obj);
	
	/**
	 * 修改角色资源关系
	 * @param obj 角色资源关系对象
	 */
	public void update(RoleResource obj);
	
	/**
	 * 删除角色资源关系
	 * @param id 角色Id
	 */
	public void delete(Long id);
	
	/**
	 * 查询所有角色资源关系
	 * @return 角色资源关系
	 */
	public List<RoleResource> findAll();
	
	/**
	 * 根据匹配查询
	 * @param obj 角色资源关系对象
	 * @return 角色资源关系集合
	 */
	public List<RoleResource> find(RoleResource obj);
	
	/**
	 * 
	 * @param id
	 * @return 角色资源关系集合
	 */
	public List <RoleResource> findById(Long id);
	
	
	/**
	 * 根据资源Id查询角色资源关系集合
	 * @param resourceId 资源Id
	 * @return 角色资源关系集合
	 */
	public List<RoleResource> findByResourceId(Long resourceId);

	/**
	 * 删除角色资源关系
	 * @param resourceId 资源Id
	 */
	public void deleteByResourceId(Long resourceId);
	
	/**
	 * 根据角色和资源Id查询该记录
	 * @param roleId
	 * @param resourceId
	 * @return
	 */
	public Integer findCountByRoleAndResource(@Param("roleId") Long roleId, @Param("resourceId") Long resourceId);
}
